﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TangoFamilyAndGuide.Site
{
    public partial class CastingArtistsOfferBaja : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Funciones.SessionTimeOut(Session))
                {
                    Response.Redirect("~/SessionTimeout.aspx");
                }
                else
                {
                    MensajeLabel.Text = "";
                    Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                    List<Entidades.Permiso> permisoHabilitado = sesion.Usuario.Permisos.FindAll(delegate(Entidades.Permiso p)
                    {
                        return p.TipoPermiso.Id == "OperCastingArtistsOffer" && p.Estado == "Active";
                    });
                    if (permisoHabilitado.Count == 0)
                    {
                        Response.Redirect("~/Home.aspx");
                    }

                    Entidades.CastingArtistsOffer castingArtistsOffer = (Entidades.CastingArtistsOffer)Session["CastingArtistsOffer"];

                    IdCastingArtistsOfferLabel.Text = castingArtistsOffer.Id.ToString();
                    NombreLabel.Text = castingArtistsOffer.Nombre;
                    DescripcionLabel.Text = castingArtistsOffer.Descripcion;
                    PaisLabel.Text = castingArtistsOffer.Pais;
                    ProvinciaLabel.Text = castingArtistsOffer.Provincia;
                    LocalidadLabel.Text = castingArtistsOffer.Localidad;
                    EmailLabel.Text = castingArtistsOffer.Email;
                    TelefonoLabel.Text = castingArtistsOffer.Telefono;

                    WebSiteLabel.Text = castingArtistsOffer.WebSite;
                    FacebookLabel.Text = castingArtistsOffer.Facebook;
                    YouTubeLabel.Text = castingArtistsOffer.YouTube;
                    EstiloLabel.Text = GenerarStyles(castingArtistsOffer.Estilo);
                    
                    String path = Server.MapPath("~/ImagenesCastingArtistsOffer/");
                    string[] archivos = System.IO.Directory.GetFiles(path, castingArtistsOffer.Usuario.Id + "-" + castingArtistsOffer.Id.ToString() + "-*.*", System.IO.SearchOption.TopDirectoryOnly);
                    CompletarImagenesActuales(archivos);

                    path = Server.MapPath("~/ImagenesCastingArtistsOffer/Portada/");
                    archivos = System.IO.Directory.GetFiles(path, castingArtistsOffer.Usuario.Id + "-" + castingArtistsOffer.Id.ToString() + ".*", System.IO.SearchOption.TopDirectoryOnly);
                    CompletarImagenPortada(archivos);

                    Entidades.Evento Evento;
                    RN.CastingArtistsOffer.EventoPosible(out Evento, castingArtistsOffer, sesion);
                    ViewState["Evento"] = Evento;
                    if (Evento.Id == "")
                    {
                        TituloPaginaLabel.Text = "Casting Offers for Artist";
                        EstadoActualLabel.Text = "Status present: " + castingArtistsOffer.Estado;
                        MensajeLabel.Text = Evento.DescrEvento;
                        AceptarButton.Text = Evento.Accion;
                        AceptarButton.Visible = false;
                        SalirButton.Focus();
                    }
                    else
                    {
                        TituloPaginaLabel.Text = Evento.DescrEvento + " Casting Offers for Artist";
                        EstadoActualLabel.Text = "Status present: " + castingArtistsOffer.Estado;
                        AceptarButton.Text = Evento.Accion;
                        AceptarButton.Focus();
                    }
                    DataBind();
                }
            }
        }
        private string GenerarStyles(string Styles)
        {
            string respuesta = "";
            string[] lista = Styles.Split(Convert.ToChar("-"));
            foreach (string texto in lista)
            {
                respuesta += "&bull;&nbsp;" + texto + "<br>";
            }
            return respuesta;
        }
        protected void AceptarButton_Click(object sender, EventArgs e)
        {
            if (Funciones.SessionTimeOut(Session))
            {
                Response.Redirect("~/SessionTimeout.aspx");
            }
            else
            {
                Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"];
                Entidades.CastingArtistsOffer castingArtistsOffer = (Entidades.CastingArtistsOffer)Session["CastingArtistsOffer"];
                Entidades.Evento Evento = (Entidades.Evento)ViewState["Evento"];
                try
                {
                    RN.CastingArtistsOffer.CambiarEstado(castingArtistsOffer, Evento.Id, Evento.EstadoHst, sesion);
                    AceptarButton.Enabled = false;
                    SalirButton.Text = "Exit";
                    MensajeLabel.Text = "The status change was successfully registered.";
                }
                catch (Exception ex)
                {
                    MensajeLabel.Text = EX.Funciones.Detalle(ex);
                    return;
                }
            }
        }
        private void CompletarImagenesActuales(string[] archivos)
        {
            Image1.ImageUrl = "~/Imagenes/Interrogacion.jpg";
            Image2.ImageUrl = "~/Imagenes/Interrogacion.jpg";
            Image3.ImageUrl = "~/Imagenes/Interrogacion.jpg";
            for (int i = 0; i < archivos.Length; i++)
            {
                if (i == 0)
                {
                    linkImage1.HRef = "~/ImagenesCastingArtistsOffer/" + archivos[0].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/"), String.Empty);
                    Image1.ImageUrl = "~/ImagenesCastingArtistsOffer/" + archivos[0].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/"), String.Empty);
                }
                else if (i == 1)
                {
                    linkImage2.HRef = "~/ImagenesCastingArtistsOffer/" + archivos[1].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/"), String.Empty);
                    Image2.ImageUrl = "~/ImagenesCastingArtistsOffer/" + archivos[1].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/"), String.Empty);
                }
                else if (i == 2)
                {
                    linkImage3.HRef = "~/ImagenesCastingArtistsOffer/" + archivos[2].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/"), String.Empty);
                    Image3.ImageUrl = "~/ImagenesCastingArtistsOffer/" + archivos[2].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/"), String.Empty);
                }
            }
        }
        private void CompletarImagenPortada(string[] archivos)
        {
            ImagePortada.ImageUrl = "~/Imagenes/Interrogacion.jpg";
            if (archivos.Length >= 1)
            {
                linkPortada.HRef = "~/ImagenesCastingArtistsOffer/Portada/" + archivos[0].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/Portada/"), String.Empty);
                ImagePortada.ImageUrl = "~/ImagenesCastingArtistsOffer/Portada/" + archivos[0].Replace(Server.MapPath("~/ImagenesCastingArtistsOffer/Portada/"), String.Empty);
            }
        }
    }
}